home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / dprint / dp_start.c < prev    next >
Text File  |  1995-01-01  |  4KB  |  167 lines

  1. /*
  2.  
  3. 8086|Printman/POSTCARD スタートアップモジュール
  4.  
  5. Copyright (c) 1993,94 Delmonta
  6.  
  7. */
  8.  
  9. #include<stdlib.h>
  10. #include<del_prn.h>
  11. #include"dprint.h"
  12.  
  13. /*---------------------------------------------------------------------------*/
  14.  
  15. void    dp_endscreen(enum ERRCODE errcode)
  16. {
  17.     printf( "\033[2J"
  18.         "8086|Printman/POSTCARDを終了しました.\n");
  19.  
  20.     exit(errcode);
  21. }
  22.  
  23. /*---------------------------------------------------------------------------*/
  24.  
  25. void    dp_puttitle(void)
  26. {
  27.     printf( "\033[2J\033[0;37m"
  28.         "簡易データベース付き宛名印刷ソフト 8086|Printman/POSTCARD Version 1.00c\n"
  29.         "                 Copyright (c) 1993 Delmonta, all rights reserved." __DATE__ "\n"
  30.         "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
  31.         "\033[05;21f┌──────────────────┐\n"
  32.         "\033[06;21f│郵便番号    -            │\n"
  33.         "\033[07;21f│住所(1)              │\n"
  34.         "\033[08;21f│住所(2)              │\n"
  35.         "\033[09;21f│住所(3)              │\n"
  36.         "\033[10;21f│氏名(1)              │\n"
  37.         "\033[11;21f│氏名(2)              │\n"
  38.         "\033[12;21f└──────────────────┘\n"
  39.     );
  40.  
  41.     dp_putfkey(0);
  42. }
  43.  
  44. /*---------------------------------------------------------------------------*/
  45.  
  46. static    void    option_c(char mode)
  47. {
  48.     switch(mode)
  49.     {
  50.     case 'N':
  51.     case 'n':
  52.         Prn_machine = PRNBIOS_NEC98;
  53.         break;
  54.     case 'F':
  55.     case 'f':
  56.         Prn_machine = PRNBIOS_TOWNS;
  57.         break;
  58.     case 'I':
  59.     case 'i':
  60.         Prn_machine = PRNBIOS_IBMPC;
  61.         break;
  62.     case 'J':
  63.     case 'j':
  64.         Prn_machine = PRNBIOS_J3100;
  65.         break;
  66.     default:
  67.         printf("コンピュータの機種の指定が不正です : -C%c\n",mode);
  68.         exit(EXITCODE_BADOPT);
  69.     }
  70. }
  71.  
  72. /*---------------------------------------------------------------------------*/
  73.  
  74. static    void    option_p(char mode)
  75. {
  76.     switch(mode)
  77.     {
  78.     case 'E':
  79.     case 'e':
  80.         Prn_mode = PRNMODE_ESCP;
  81.         break;
  82.     case 'M':
  83.     case 'm':
  84.         Prn_mode = PRNMODE_MSX;
  85.         break;
  86.     case 'N':
  87.     case 'n':
  88.         Prn_mode = PRNMODE_PCPR;
  89.         break;
  90.     case 'F':
  91.     case 'f':
  92.         Prn_mode = PRNMODE_FMPR;
  93.         break;
  94.     default:
  95.         printf("プリンタの機種の指定が不正です : -P%c\n",mode);
  96.         exit(EXITCODE_BADOPT);
  97.     }
  98. }
  99.  
  100. /*---------------------------------------------------------------------------*/
  101.  
  102. int    main(int argc,char *argv[])
  103. {
  104.     unsigned int    i;
  105.  
  106.     dp_seterrhandler();
  107.     dflfile_init(argv[0]);
  108.  
  109.     while    (--argc)
  110.     {
  111.         argv++;
  112.  
  113.         if    (argv[0][0]!='-')  /* オプションでない → データファイルの指定 */
  114.             goto main_ENDOPTION;
  115.  
  116.         switch    (argv[0][1])
  117.         {
  118.         case 'C':
  119.         case 'c':
  120.             option_c(argv[0][2]);
  121.             break;
  122.         case 'P':
  123.         case 'p':
  124.             option_p(argv[0][2]);
  125.             break;
  126.         case 'H':
  127.         case 'h':
  128.         case '?':
  129.             printf( "8086|Printman/POSTCARD Version 1.00a\n"
  130.                 "Copyright (c) 1993 Delmonta, all rights reserved."
  131.                 "\n"
  132.                 "option:\n"
  133.                 "    -Cx コンピュータの指定\n"
  134.                 "         N=PC-9800, F=FMR/TOWNS, I=PC/AT, J=J-3100/AX\n"
  135.                 "\n"
  136.                 "    -Px プリンタの指定\n"
  137.                 "         E=ESC/P24-J84, M=MSX漢字プリンタ, N=PC-PR201H\n"
  138.                 "\n"
  139.                 "    -H -? ヘルプ(この画面)\n"
  140.                 "\n");
  141.             exit(EXITCODE_BADOPT);
  142.         }
  143.     }
  144.  
  145. main_ENDOPTION:
  146.  
  147.     dp_puttitle();        /* 画面初期化 */
  148.  
  149.                 /* カードへのポインタを初期化 */
  150.     for    (i=0 ; i<MAXCARD ; i++)
  151.         Card[i] = (struct POSTCARD far *)NULL;
  152.  
  153.     Cardnum = 0;        /* カード枚数 = 0 */
  154.  
  155.     if    (argc!=0)    /* パラメータを全て解析する前に中止した場合 */
  156.     {            /* すなわちデータファイル名が指定された場合 */
  157.  
  158.         FILE    *fp = fopen(argv[0],"r");
  159.  
  160.         if    (fp==NULL)
  161.             dp_errmes("指定されたデータファイルがオープンできません.");
  162.         else
  163.             dp_readfile(fp);
  164.     }
  165.     dp_main();
  166. }
  167.